:root{
  --bg:#f7f8fa;--card:#fff;--text:#1f2937;--muted:#6b7280;--primary:#42b983;--primary-600:#2f9f71;--border:#e5e7eb;
}
*{box-sizing:border-box}
html,body,#app{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,'PingFang SC','Microsoft YaHei',sans-serif}
.container{max-width:1080px;margin:0 auto;padding:16px}
.nav{position:sticky;top:0;z-index:10;background:var(--card);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1080px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--text)}
.brand-badge{width:28px;height:28px;border-radius:8px;background:var(--primary)}
.nav-links{display:flex;gap:14px}
.nav-links a{color:var(--text);text-decoration:none;padding:6px 10px;border-radius:8px}
.nav-links a:hover{background:#f1f5f9}
.btn{appearance:none;border:none;background:var(--primary);color:#fff;padding:8px 14px;border-radius:10px;cursor:pointer;transition:.2s box-shadow,.2s transform}
.btn:hover{box-shadow:0 6px 18px rgba(66,185,131,.35);transform:translateY(-1px)}
.btn.secondary{background:#111827;color:#fff}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}
.input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:10px;outline:none;background:#fff}
.input:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(66,185,131,.15)}
.search-bar{display:flex;gap:10px;align-items:center}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.card-body{padding:12px}
.muted{color:var(--muted)}
.price{color:#ef4444;font-weight:700}
.row{display:flex;gap:12px;align-items:center}
.space-y > * + *{margin-top:10px}
img.rounded{border-radius:12px}

